package com.ruoyi.bom.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * BOM变更表对象 erp_bom_change
 * 
 * @author ruoyi
 * @date 2025-08-22
 */
public class ErpBomChange extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 单据编号，主键 */
    private Long documentNo;

    /** 销售订单 */
    @Excel(name = "销售订单")
    private String salesOrder;

    /** 物料ID */
    @Excel(name = "物料ID")
    private Long materialId;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String itemCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;

    /** 物料规格 */
    @Excel(name = "物料规格")
    private String specification;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long status;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /** 提交人 */
    @Excel(name = "提交人")
    private String submitter;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 最后修改人 */
    @Excel(name = "最后修改人")
    private String lastModifier;

    /** 最后修改日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastModifyDate;

    public void setDocumentNo(Long documentNo) 
    {
        this.documentNo = documentNo;
    }

    public Long getDocumentNo() 
    {
        return documentNo;
    }

    public void setSalesOrder(String salesOrder) 
    {
        this.salesOrder = salesOrder;
    }

    public String getSalesOrder() 
    {
        return salesOrder;
    }

    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }

    public void setItemCode(String itemCode) 
    {
        this.itemCode = itemCode;
    }

    public String getItemCode() 
    {
        return itemCode;
    }

    public void setItemName(String itemName) 
    {
        this.itemName = itemName;
    }

    public String getItemName() 
    {
        return itemName;
    }

    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setSubmitTime(Date submitTime) 
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }

    public void setSubmitter(String submitter) 
    {
        this.submitter = submitter;
    }

    public String getSubmitter() 
    {
        return submitter;
    }

    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }

    public void setLastModifier(String lastModifier) 
    {
        this.lastModifier = lastModifier;
    }

    public String getLastModifier() 
    {
        return lastModifier;
    }

    public void setLastModifyDate(Date lastModifyDate) 
    {
        this.lastModifyDate = lastModifyDate;
    }

    public Date getLastModifyDate() 
    {
        return lastModifyDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("documentNo", getDocumentNo())
            .append("salesOrder", getSalesOrder())
            .append("materialId", getMaterialId())
            .append("itemCode", getItemCode())
            .append("itemName", getItemName())
            .append("specification", getSpecification())
            .append("status", getStatus())
            .append("submitTime", getSubmitTime())
            .append("submitter", getSubmitter())
            .append("auditTime", getAuditTime())
            .append("creator", getCreator())
            .append("createDate", getCreateDate())
            .append("lastModifier", getLastModifier())
            .append("lastModifyDate", getLastModifyDate())
            .toString();
    }
}
